import { IFilterNode } from '@ibiz-template/runtime';
import { GroupType } from './group-type';

export interface ICondition {
  /**
   * 条件标识
   */
  id: string;
  /**
   * 条件名称
   */
  caption: string;
  /**
   * 搜索条件
   */
  searchconds: IData;
}

/**
 * 过滤器
 */
export interface IFilterData {
  /**
   * 过滤器标识(时间戳)
   * 当值为 draft 时表示草稿
   */
  id: string;
  /**
   * 标题
   */
  caption?: string;
  /**
   * 当前应用的条件项集合
   */
  condition: ICondition[];
}

/**
 * 分组数据
 */
export interface IGroupData {
  /**
   * 唯一标识
   */
  id?: string;
  /**
   * 分组搜索条件
   */
  searchconds?: IFilterNode[];
  /**
   * 分组标识(用户新建的为时间戳) 用于前台过滤
   */
  name: string;
  /**
   * 排序值
   */
  order: number;
  /**
   * 分组名称
   */
  caption: string;
  /**
   * 是否默认选中
   */
  defaultSelect?: boolean;
  /**
   * 是否收藏
   */
  collect: boolean;
  /**
   * 过滤器
   */
  filter: IFilterData[];
  /**
   * 分组类型
   */
  groupType: GroupType;
}
